package com.wuseguang.springcloud.util;

import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class PagingTool {

    /**
     * 页码
     */
    private Integer indexNo;
    /**
     * 每页显示行数(默认20)
     * */
    private int rows = 20;
    /**
     * 分页后的数据
     */
    private List<?> list;

    public Integer getIndexNo() {
        return indexNo;
    }

    public void setIndexNo(Integer indexNo) {
        //判断页码是否为空，为空默认1
        if(indexNo == null || indexNo == 0){
            indexNo = 1;
        }
        //返回页码
        this.indexNo = indexNo;
    }

    /**
     * 获取分页后的数据
     * @return 返回的集合
     */
    public List<?> getList() {
        //数据总条数
        int size = list.size();
        //从第几行截取
        int head = (indexNo-1)*rows;
        //截取到结束行
        int tail = indexNo*rows;
        //如果开始截取行大于总数则从总数开始
        if(head>size){
            head = size;
        }
        //如果结束行大于总数则截取到总数
        if(tail >size){
            tail = size;
        }
        //截取并且返回数据
        return list.subList(head,tail);
    }


    public void setList(List<?> list) {
        this.list = list;
    }

    public int getRows() {
        return rows;
    }

    public void setRows(int rows) {
        this.rows = rows;
    }
}


